using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.IO;

namespace GSyncConsole
{
    [Serializable()]
    public class FileStateData
    {
        private string filename;

        public string Filename
        {
            get { return filename; }
            set { filename = value; }
        }

        private DateTime lastModificationDate;

        public DateTime LastModificationDate
        {
            get { return lastModificationDate; }
            set { lastModificationDate = value; }
        }

        private bool backedUp;

        public bool BackedUp
        {
            get { return backedUp; }
            set { backedUp = value; }
        }

        private long fileSize;

        public long FileSize
        {
            get { return fileSize; }
            set { fileSize = value; }
        }

        private DateTime lastSync;

        public DateTime LastSync
        {
            get { return lastSync; }
            set { lastSync = value; }
        }

        public FileStateData()
        {

        }

        public FileStateData(FileInfo fileInfo)
        {
            this.Filename = fileInfo.FullName;
            this.LastModificationDate = fileInfo.LastWriteTime;
            this.BackedUp = true;
            this.FileSize = fileInfo.Length;
            this.LastSync = DateTime.Now;
        }
    }
}
